"""
reduce 函数
- reduce 函数是做什么的：用于对一个序列进行累积计算
- 语法和可选参数
- reduce 结合lambda使用
"""
nums = [1, 2, 3, 4, 5]
total = 0

for num in nums:
    total = total + num

print(total)

# 使用reduce 累积函数
from functools import reduce


def sum(x, y):
    print(str(x) + '+' + str(y))
    return x + y


print(reduce(sum, nums))

# reduce累积函数结合lambda使用
print(reduce(lambda x, y: x + y, nums))
print(reduce(lambda x, y: x * y, nums))  # 阶乘
